#include <iostream>
#include <future>
#include <thread>
#include <memory>

int Add(int num1, int num2)
{
    std::cout << "into add!\n";
    return num1 + num2;
}

int main()
{
    // 1.创建一个promise对象
    std::promise<int> pro;
    // 2.获取和promise关联的future对象
    std::future<int> res = pro.get_future();
    // 3.设置数据进pro，通过future获取
    std::thread thd([&pro]()
                    {
        int sum = Add(1,2);
        pro.set_value(sum); });

    std::cout << "异步结果: " << res.get() << std::endl;

    return 0;
}


